ARP API documentation version v1
http://ara/api/data/v1
ARP REST API
Working with ARP through an easy-to-use API.
/plans
Use this endpoint to view the list of release plans and create new release plan.
Get a pageable list of release plans.
Create new release plan
get /plans
Get a pageable list of release plans.
Query Parameters
- name: (string)
Filter by release plan name, supporting wildcard (*) at the begining and at the end.
- status: (string)
Status of the release plan.
- include: (string)
Comma-separated options to include related data. Valid options: None, Actions, Phases, Summary, Listeners. By default, actions are included.
- start_at: (integer - default: 0)
"Paging: offset where to start page. Default is "0"."
- max_results: (integer)
Paging: max number of elements (= pagesize).
HTTP status code 200
Successful request.
Body
Media type: application/json
Type: object_list
Example:
{
"has_more": false,
"total": 3,
"data": [
{
"status": "Draft",
"planned_time": {
"start": "2016-01-01T00:00:00Z",
"end": "2019-07-15T12:32:54Z",
"duration": "P1291DT12H32M54S"
},
"id": 30501,
"name": "test21",
"description": "blah",
"archived": false,
"owner": {
"type": "User",
"id": 18000,
"name": "2/ADM/ADM"
},
"folder": {
"id": 18336,
"name": "ADMFOLDER"
}
},
{
"status": "Draft",
"planned_time": {
"start": "2016-01-01T00:00:00Z",
"end": "2016-01-01T00:32:54Z",
"duration": "PT32M54S"
},
"id": 31500,
"name": "test10",
"description": "blah",
"archived": false,
"owner": {
"type": "User",
"id": 18000,
"name": "2/ADM/ADM"
},
"folder": {
"id": 18336,
"name": "ADMFOLDER"
}
},
{
"status": "Draft",
"planned_time": {
"start": "2016-12-13T00:00:00Z",
"end": "2016-12-16T00:00:00Z",
"duration": "P3D"
},
"id": 31902,
"name": "70K3YLGZZX",
"description": "This is a description",
"archived": false,
"owner": {
"type": "User",
"id": 18004,
"name": "2/NONADMIN/ADM"
},
"folder": {
"id": 31900,
"name": "ReleasePlanTest_2NTCVF"
}
}
]
}
HTTP status code 400
Invalid parameter was passed. A.e. wrong datatype or a reference to an entity that does not exist.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid value for parameter p1: 'x'",
"details": ""
}
post /plans
Create new release plan
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- name: Type: string Name of the entity.
- folder: Type: object | string Folder of the entity. Can be either set as unique name or as sub-object describing the folder with its name, id or both, a.e. "folder": {"id": 14592, "name": "DEV"}
- planned_time: Type: object Planned time of the release activities in UTC Timezone. The following sample has start, end and duration. Start time is the expected start of the release activities in UTC Timezone. Default value of start time is a day after 30 days. End time is the expected end of the release time in UTC Timezone. Either end time and duration are required. End time must be greater than start time. If end time is defined then duration field must be ignored. Duration is value in ISO 8601 duration format. "planned_time": { "start": "2016-12-13T00:00:00Z", "end": "2016-12-16T00:00:00Z" } or "planned_time": { "start": "2016-12-13T00:00:00Z", "duration": "P3D" }
- owner: Type: object User or usergroup owning the entity. Can be either set as unique name or as sub-object describing the owner with its name, id or both, a.e. "owner": {"id": 14592, "name": "DEV"} If not set, current user will be set as owner by default
- description: Type: string Optional description of the entity.
Example:
{
"name": "ReleasePlan_01",
"description": "Release Plan 01",
"planned_time": {
"start": "2016-01-01T00:00:00Z",
"duration": "P1DT12H32M54S"
},
"folder": {
"id": 12798,
"name": "DEFAULT"
},
"owner": {
"type": "User",
"id": 302,
"name": "100/AUTOMIC/AUTOMIC"
}
}
HTTP status code 201
Release plan was successfully created.
Body
Media type: application/json
Type: release_plan_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- folder: Type: object Folder of the entity
- planned_time: Type: object Planned time of the release activities in UTC Timezone. The following sample has start, end and duration. Start time is the expected start of the release activities in UTC Timezone. End time is the expected end of the release time in UTC Timezone. Duration is value in ISO 8601 duration format. "planned_time": { "start": "2016-12-13T00:00:00Z", "end": "2016-12-16T00:00:00Z", "duration": "P3D" }
- archived: Type: boolean Set to true if entity is archived. Default: false
- status: Type: string Status of release plan
- notify_owner_on_error: Type: boolean If it set to true, the owner will receive an error notification. Default: true
- actions: Type: array List of available actions of the release plan at the current state
- phases: Type: array List of phases of the release plan
- variables: Type: array List of plan variables
- listeners: Type: array List of event listeners of the release plan
Example:
{
"id": 1908,
"name": "ReleasePlan_01",
"description": "Release Plan 01",
"archived": false,
"status": "Draft",
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P21D"
},
"folder": {
"id": 12798,
"name": "DEFAULT"
},
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"variables": [
{
"name": "variable_name",
"value": "variable value"
}
],
"listeners": [
{
"event": "Failure",
"recipients": [
{
"name": "100/AUTOMIC/AUTOMIC",
"display_name": "AUTOMIC/AUTOMIC",
"is_active": true,
"type": "User"
}
],
"invalid_recipients": []
}
],
"actions": [
{
"href": "api/data/v1/plans/1908/execute",
"method": "POST",
"rel": "execute",
"type": "System",
"desc": "Execute"
},
{
"href": "api/data/v1/plans/1908/duplicate",
"method": "POST",
"rel": "duplicate",
"type": "System",
"desc": "Duplicate"
},
{
"href": "api/data/v1/plans/1908",
"method": "POST",
"rel": "edit",
"type": "System",
"desc": "Edit"
},
{
"href": "api/data/v1/plans/1908/export",
"method": "GET",
"rel": "export",
"type": "System",
"desc": "Export"
},
{
"href": "api/data/v1/plans/1908/archive",
"method": "POST",
"rel": "archive",
"type": "System",
"desc": "Archive"
},
{
"rel": "add",
"type": "System",
"desc": "Add"
}
],
"phases": [
{
"id": 1919,
"name": "Phase 1",
"description": "",
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P4D"
},
"status": "Draft",
"type": "Sequential",
"tasks": [
{
"id": 1920,
"plan": {
"id": 1908,
"name": "ReleasePlan_01"
},
"phase": {
"id": 1919,
"name": "Phase 1"
},
"name": "Task 1",
"type": "Manual",
"description": "",
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"status": "Draft",
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P1D"
},
"actions": [
{
"rel": "delete",
"type": "System",
"desc": "delete"
},
{
"rel": "reorder",
"type": "System",
"desc": "reorder"
},
{
"rel": "edit",
"type": "System",
"desc": "edit"
}
],
"listeners": []
}
],
"actions": [
{
"rel": "edit",
"type": "System",
"desc": "Edit"
},
{
"rel": "delete",
"type": "System",
"desc": "Delete"
},
{
"rel": "reorder",
"type": "System",
"desc": "Reorder"
},
{
"rel": "add",
"type": "System",
"desc": "add"
}
]
}
]
}
HTTP status code 400
Invalid data. For example: invalid Json, missing mandatory properties, wrong data type of a property.
Body
Media type: application/json
Type: error_response
Example:
{ "code": 134511,
"error": "Invalid data: Release plan cannot be created.",
"details": ""
}
A specific release plan
Get details of a specific plan
Update the plan. Pass data to be changed to body.
Delete the plan. Note: Delete is only allowed in case the package is not referenced by any entity. No body data required.
get /plans/{id}
Get details of a specific plan
URI Parameters
- id: required (string)
HTTP status code 200
Body
Media type: application/json
Type: release_plan_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- folder: Type: object Folder of the entity
- planned_time: Type: object Planned time of the release activities in UTC Timezone. The following sample has start, end and duration. Start time is the expected start of the release activities in UTC Timezone. End time is the expected end of the release time in UTC Timezone. Duration is value in ISO 8601 duration format. "planned_time": { "start": "2016-12-13T00:00:00Z", "end": "2016-12-16T00:00:00Z", "duration": "P3D" }
- archived: Type: boolean Set to true if entity is archived. Default: false
- status: Type: string Status of release plan
- notify_owner_on_error: Type: boolean If it set to true, the owner will receive an error notification. Default: true
- actions: Type: array List of available actions of the release plan at the current state
- phases: Type: array List of phases of the release plan
- variables: Type: array List of plan variables
- listeners: Type: array List of event listeners of the release plan
Example:
{
"id": 1908,
"name": "ReleasePlan_01",
"description": "Release Plan 01",
"archived": false,
"status": "Draft",
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P21D"
},
"folder": {
"id": 12798,
"name": "DEFAULT"
},
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"variables": [
{
"name": "variable_name",
"value": "variable value"
}
],
"listeners": [
{
"event": "Failure",
"recipients": [
{
"name": "100/AUTOMIC/AUTOMIC",
"display_name": "AUTOMIC/AUTOMIC",
"is_active": true,
"type": "User"
}
],
"invalid_recipients": []
}
],
"actions": [
{
"href": "api/data/v1/plans/1908/execute",
"method": "POST",
"rel": "execute",
"type": "System",
"desc": "Execute"
},
{
"href": "api/data/v1/plans/1908/duplicate",
"method": "POST",
"rel": "duplicate",
"type": "System",
"desc": "Duplicate"
},
{
"href": "api/data/v1/plans/1908",
"method": "POST",
"rel": "edit",
"type": "System",
"desc": "Edit"
},
{
"href": "api/data/v1/plans/1908/export",
"method": "GET",
"rel": "export",
"type": "System",
"desc": "Export"
},
{
"href": "api/data/v1/plans/1908/archive",
"method": "POST",
"rel": "archive",
"type": "System",
"desc": "Archive"
},
{
"rel": "add",
"type": "System",
"desc": "Add"
}
],
"phases": [
{
"id": 1919,
"name": "Phase 1",
"description": "",
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P4D"
},
"status": "Draft",
"type": "Sequential",
"tasks": [
{
"id": 1920,
"plan": {
"id": 1908,
"name": "ReleasePlan_01"
},
"phase": {
"id": 1919,
"name": "Phase 1"
},
"name": "Task 1",
"type": "Manual",
"description": "",
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"status": "Draft",
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P1D"
},
"actions": [
{
"rel": "delete",
"type": "System",
"desc": "delete"
},
{
"rel": "reorder",
"type": "System",
"desc": "reorder"
},
{
"rel": "edit",
"type": "System",
"desc": "edit"
}
],
"listeners": []
}
],
"actions": [
{
"rel": "edit",
"type": "System",
"desc": "Edit"
},
{
"rel": "delete",
"type": "System",
"desc": "Delete"
},
{
"rel": "reorder",
"type": "System",
"desc": "Reorder"
},
{
"rel": "add",
"type": "System",
"desc": "add"
}
]
}
]
}
HTTP status code 404
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Object does not exist.",
"details": "" }
post /plans/{id}
Update the plan. Pass data to be changed to body.
URI Parameters
- id: required (string)
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- name: Type: string Name of the entity to be changed to
- folder: Type: object | string New Folder of the entity. Can be either set as unique name or as sub-object describing the folder with its name, id or both, a.e. "folder": {"id": 14592, "name": "DEV"}
- owner: Type: object New User or usergroup owning the entity. Can be either set as unique name or as sub-object describing the owner with its name, id or both, a.e. "owner": {"id": 14592, "name": "DEV"}
- description: Type: string Optional description of the entity.
- planned_time: Type: object Planned time of the release activities in UTC Timezone. The following sample has start, end and duration. Start time is the expected start of the release activities in UTC Timezone. Default value of start time is a day after 30 days. End time is the expected end of the release time in UTC Timezone. Either end time and duration are required. End time must be greater than start time. If end time is defined then duration field must be ignored. Duration is value in ISO 8601 duration format. "planned_time": { "start": "2016-12-13T00:00:00Z", "end": "2016-12-16T00:00:00Z", } or "planned_time": { "start": "2016-12-13T00:00:00Z", "duration": "P3D" }
Example:
{
"name": "ReleasePlan_01",
"description": "Release Plan 01",
"planned_time": {
"start": "2016-01-01T00:00:00Z",
"duration": "P1DT12H32M54S"
},
"folder": {
"id": 12798,
"name": "DEFAULT"
},
"owner": {
"type": "User",
"id": 302,
"name": "100/AUTOMIC/AUTOMIC"
}
}
HTTP status code 200
Successful update of the plan
Body
Media type: application/json
Type: release_plan_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- folder: Type: object Folder of the entity
- planned_time: Type: object Planned time of the release activities in UTC Timezone. The following sample has start, end and duration. Start time is the expected start of the release activities in UTC Timezone. End time is the expected end of the release time in UTC Timezone. Duration is value in ISO 8601 duration format. "planned_time": { "start": "2016-12-13T00:00:00Z", "end": "2016-12-16T00:00:00Z", "duration": "P3D" }
- archived: Type: boolean Set to true if entity is archived. Default: false
- status: Type: string Status of release plan
- notify_owner_on_error: Type: boolean If it set to true, the owner will receive an error notification. Default: true
- actions: Type: array List of available actions of the release plan at the current state
- phases: Type: array List of phases of the release plan
- variables: Type: array List of plan variables
- listeners: Type: array List of event listeners of the release plan
Example:
{
"id": 1908,
"name": "ReleasePlan_01",
"description": "Release Plan 01",
"archived": false,
"status": "Draft",
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P21D"
},
"folder": {
"id": 12798,
"name": "DEFAULT"
},
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"variables": [
{
"name": "variable_name",
"value": "variable value"
}
],
"listeners": [
{
"event": "Failure",
"recipients": [
{
"name": "100/AUTOMIC/AUTOMIC",
"display_name": "AUTOMIC/AUTOMIC",
"is_active": true,
"type": "User"
}
],
"invalid_recipients": []
}
],
"actions": [
{
"href": "api/data/v1/plans/1908/execute",
"method": "POST",
"rel": "execute",
"type": "System",
"desc": "Execute"
},
{
"href": "api/data/v1/plans/1908/duplicate",
"method": "POST",
"rel": "duplicate",
"type": "System",
"desc": "Duplicate"
},
{
"href": "api/data/v1/plans/1908",
"method": "POST",
"rel": "edit",
"type": "System",
"desc": "Edit"
},
{
"href": "api/data/v1/plans/1908/export",
"method": "GET",
"rel": "export",
"type": "System",
"desc": "Export"
},
{
"href": "api/data/v1/plans/1908/archive",
"method": "POST",
"rel": "archive",
"type": "System",
"desc": "Archive"
},
{
"rel": "add",
"type": "System",
"desc": "Add"
}
],
"phases": [
{
"id": 1919,
"name": "Phase 1",
"description": "",
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P4D"
},
"status": "Draft",
"type": "Sequential",
"tasks": [
{
"id": 1920,
"plan": {
"id": 1908,
"name": "ReleasePlan_01"
},
"phase": {
"id": 1919,
"name": "Phase 1"
},
"name": "Task 1",
"type": "Manual",
"description": "",
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"status": "Draft",
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P1D"
},
"actions": [
{
"rel": "delete",
"type": "System",
"desc": "delete"
},
{
"rel": "reorder",
"type": "System",
"desc": "reorder"
},
{
"rel": "edit",
"type": "System",
"desc": "edit"
}
],
"listeners": []
}
],
"actions": [
{
"rel": "edit",
"type": "System",
"desc": "Edit"
},
{
"rel": "delete",
"type": "System",
"desc": "Delete"
},
{
"rel": "reorder",
"type": "System",
"desc": "Reorder"
},
{
"rel": "add",
"type": "System",
"desc": "add"
}
]
}
]
}
HTTP status code 400
Invalid data has been passed. A.e. invalid Json, wrong data type of a property, set related entity (application, workflow, package, ...) that does not exists. It also applies to updates that are not valid due to a conflict. A.e. rename by a name that is already used by another entity.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid data",
"details": ""
}
HTTP status code 404
The plan does not exist
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Object with id '14555' does not exist.",
"details": ""
}
delete /plans/{id}
Delete the plan. Note: Delete is only allowed in case the package is not referenced by any entity. No body data required.
URI Parameters
- id: required (string)
HTTP status code 200
successful delete
Body
Media type: application/json
Type: application/json
Example:
object was deleted successfully.
HTTP status code 400
plan cannot be deleted because it is still referenced by another entity.
Body
Media type: application/json
Type: application/json
Example:
{
"code": 134541,
"error": "object cannot be deleted because it is still referenced by another entity",
"details": ""
}
HTTP status code 404
plan does not exist.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "object with id '32542' does not exist.",
"details": ""
}
Start Release Plan. If the release plan is started early, the current time will be set as the planned start time. Otherwise, the user can specify a new planned start time.
post /plans/{id}/execute
Start Release Plan. If the release plan is started early, the current time will be set as the planned start time. Otherwise, the user can specify a new planned start time.
URI Parameters
- id: required (string)
Body
Media type: application/json
Type: object
The following properties are mandatory to be set:
- new_planned_time: Type: object New planned start time in UTC Timezone for the release plan in case it is started late. The new start time must be later than the original value and earlier than the current time. { "new_planned_time": { "start": "2016-12-13T00:00:00Z" } }
Example:
{
"new_planned_time":
{
"start": "2016-01-01T00:00:00Z"
}
}
HTTP status code 200
Body
Media type: application/json
Type: release_plan_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- folder: Type: object Folder of the entity
- planned_time: Type: object Planned time of the release activities in UTC Timezone. The following sample has start, end and duration. Start time is the expected start of the release activities in UTC Timezone. End time is the expected end of the release time in UTC Timezone. Duration is value in ISO 8601 duration format. "planned_time": { "start": "2016-12-13T00:00:00Z", "end": "2016-12-16T00:00:00Z", "duration": "P3D" }
- archived: Type: boolean Set to true if entity is archived. Default: false
- status: Type: string Status of release plan
- notify_owner_on_error: Type: boolean If it set to true, the owner will receive an error notification. Default: true
- actions: Type: array List of available actions of the release plan at the current state
- phases: Type: array List of phases of the release plan
- variables: Type: array List of plan variables
- listeners: Type: array List of event listeners of the release plan
Example:
{
"id": 1908,
"name": "ReleasePlan_01",
"description": "Release Plan 01",
"archived": false,
"status": "Draft",
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P21D"
},
"folder": {
"id": 12798,
"name": "DEFAULT"
},
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"variables": [
{
"name": "variable_name",
"value": "variable value"
}
],
"listeners": [
{
"event": "Failure",
"recipients": [
{
"name": "100/AUTOMIC/AUTOMIC",
"display_name": "AUTOMIC/AUTOMIC",
"is_active": true,
"type": "User"
}
],
"invalid_recipients": []
}
],
"actions": [
{
"href": "api/data/v1/plans/1908/execute",
"method": "POST",
"rel": "execute",
"type": "System",
"desc": "Execute"
},
{
"href": "api/data/v1/plans/1908/duplicate",
"method": "POST",
"rel": "duplicate",
"type": "System",
"desc": "Duplicate"
},
{
"href": "api/data/v1/plans/1908",
"method": "POST",
"rel": "edit",
"type": "System",
"desc": "Edit"
},
{
"href": "api/data/v1/plans/1908/export",
"method": "GET",
"rel": "export",
"type": "System",
"desc": "Export"
},
{
"href": "api/data/v1/plans/1908/archive",
"method": "POST",
"rel": "archive",
"type": "System",
"desc": "Archive"
},
{
"rel": "add",
"type": "System",
"desc": "Add"
}
],
"phases": [
{
"id": 1919,
"name": "Phase 1",
"description": "",
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P4D"
},
"status": "Draft",
"type": "Sequential",
"tasks": [
{
"id": 1920,
"plan": {
"id": 1908,
"name": "ReleasePlan_01"
},
"phase": {
"id": 1919,
"name": "Phase 1"
},
"name": "Task 1",
"type": "Manual",
"description": "",
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"status": "Draft",
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P1D"
},
"actions": [
{
"rel": "delete",
"type": "System",
"desc": "delete"
},
{
"rel": "reorder",
"type": "System",
"desc": "reorder"
},
{
"rel": "edit",
"type": "System",
"desc": "edit"
}
],
"listeners": []
}
],
"actions": [
{
"rel": "edit",
"type": "System",
"desc": "Edit"
},
{
"rel": "delete",
"type": "System",
"desc": "Delete"
},
{
"rel": "reorder",
"type": "System",
"desc": "Reorder"
},
{
"rel": "add",
"type": "System",
"desc": "add"
}
]
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: error_response
Example:
{
"code": 100014,
"error": "The action 'execute' is not allowed on 'Release plan 12345' in its current state Failed.",
"details": ""
}
HTTP status code 403
Body
Media type: application/json
Type: error_response
Example:
{
"code": 1000,
"error": "You do not have execute access right on the folder DEFAULT.",
"details": ""
}
HTTP status code 404
Body
Media type: application/json
Type: error_response
Example:
{
"code": 100001,
"error": "The release plan with ID 13245 does not exist",
"details": ""
}
Duplicate Release Plan. If the release plan is started early, the current time will be set as the planned start time. Otherwise, the user can specify a new planned start time.
post /plans/{id}/duplicate
Duplicate Release Plan. If the release plan is started early, the current time will be set as the planned start time. Otherwise, the user can specify a new planned start time.
URI Parameters
- id: required (string)
Body
Media type: application/json
Type: union
The following properties are mandatory to be set:
- name: Type: string Name of the new release plan
- planned_start_time: Type: datetime Start time is the expected start of the release activities in UTC Timezone.
- owner: Type: object | string User or usergroup owning the entity. Can be either set as unique technical name or as sub-object describing the owner with its name, id or both, a.e. "owner": {"id": 14592, "name": "DEV"}. If not specified, owner of source plan will be set.
- folder: Type: object | string Folder of the entity. Can be either set as unique name or as sub-object describing the folder with its name, id or both, a.e. "folder": {"id": 14592, "name": "DEV"}. If not specified, folder of source plan will be set.
- description: Type: string
Example:
{
"name": "New Release Plan",
"owner": {
"name": "100/AUTOMIC/AUTOMIC"
},
"folder": {
"name": "DEFAULT"
},
"description": "New description",
"planned_start_time": "2017-12-13T00:00:00Z"
}
HTTP status code 200
Body
Media type: application/json
Type: release_plan_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- folder: Type: object Folder of the entity
- planned_time: Type: object Planned time of the release activities in UTC Timezone. The following sample has start, end and duration. Start time is the expected start of the release activities in UTC Timezone. End time is the expected end of the release time in UTC Timezone. Duration is value in ISO 8601 duration format. "planned_time": { "start": "2016-12-13T00:00:00Z", "end": "2016-12-16T00:00:00Z", "duration": "P3D" }
- archived: Type: boolean Set to true if entity is archived. Default: false
- status: Type: string Status of release plan
- notify_owner_on_error: Type: boolean If it set to true, the owner will receive an error notification. Default: true
- actions: Type: array List of available actions of the release plan at the current state
- phases: Type: array List of phases of the release plan
- variables: Type: array List of plan variables
- listeners: Type: array List of event listeners of the release plan
Example:
{
"id": 1908,
"name": "ReleasePlan_01",
"description": "Release Plan 01",
"archived": false,
"status": "Draft",
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P21D"
},
"folder": {
"id": 12798,
"name": "DEFAULT"
},
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"variables": [
{
"name": "variable_name",
"value": "variable value"
}
],
"listeners": [
{
"event": "Failure",
"recipients": [
{
"name": "100/AUTOMIC/AUTOMIC",
"display_name": "AUTOMIC/AUTOMIC",
"is_active": true,
"type": "User"
}
],
"invalid_recipients": []
}
],
"actions": [
{
"href": "api/data/v1/plans/1908/execute",
"method": "POST",
"rel": "execute",
"type": "System",
"desc": "Execute"
},
{
"href": "api/data/v1/plans/1908/duplicate",
"method": "POST",
"rel": "duplicate",
"type": "System",
"desc": "Duplicate"
},
{
"href": "api/data/v1/plans/1908",
"method": "POST",
"rel": "edit",
"type": "System",
"desc": "Edit"
},
{
"href": "api/data/v1/plans/1908/export",
"method": "GET",
"rel": "export",
"type": "System",
"desc": "Export"
},
{
"href": "api/data/v1/plans/1908/archive",
"method": "POST",
"rel": "archive",
"type": "System",
"desc": "Archive"
},
{
"rel": "add",
"type": "System",
"desc": "Add"
}
],
"phases": [
{
"id": 1919,
"name": "Phase 1",
"description": "",
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P4D"
},
"status": "Draft",
"type": "Sequential",
"tasks": [
{
"id": 1920,
"plan": {
"id": 1908,
"name": "ReleasePlan_01"
},
"phase": {
"id": 1919,
"name": "Phase 1"
},
"name": "Task 1",
"type": "Manual",
"description": "",
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"status": "Draft",
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P1D"
},
"actions": [
{
"rel": "delete",
"type": "System",
"desc": "delete"
},
{
"rel": "reorder",
"type": "System",
"desc": "reorder"
},
{
"rel": "edit",
"type": "System",
"desc": "edit"
}
],
"listeners": []
}
],
"actions": [
{
"rel": "edit",
"type": "System",
"desc": "Edit"
},
{
"rel": "delete",
"type": "System",
"desc": "Delete"
},
{
"rel": "reorder",
"type": "System",
"desc": "Reorder"
},
{
"rel": "add",
"type": "System",
"desc": "add"
}
]
}
]
}
HTTP status code 400
Body
Media type: application/json
Type: error_response
Example:
{
"code": 100017,
"error": "Inactive user or user group cannot act as plan owner.",
"details": ""
}
HTTP status code 403
Body
Media type: application/json
Type: error_response
Example:
{
"code": 1000,
"error": "You do not have read access right on the Release plan 'Release Plan 12345'.",
"details": ""
}
HTTP status code 404
Body
Media type: application/json
Type: error_response
Example:
{
"code": 100001,
"error": "The release plan with ID 13245 does not exist",
"details": ""
}
Use this endpoint to update existing release plan variables value.
post /plans/{id}/variables
Use this endpoint to update existing release plan variables value.
URI Parameters
- id: required (string)
Body
Media type: application/json
Type: array of items
Items: items
- name: required (string)
- value: required (string)
The following properties are mandatory to be set:
Example:
[
{
"name": "variable1",
"value": "test-{another_variable}"
},
{
"name": "variable2",
"value": "new value"
}
]
HTTP status code 200
Variable's value is updated.
Body
Media type: application/json
Type: release_plan_response
The following properties are returned:
- id: Type: integer Unique id of the entity (created automatically and not changeable)
- name: Type: string Name of the entity
- owner: Type: object User or usergroup owning the entity.
- description: Type: string Description of the entity.
- folder: Type: object Folder of the entity
- planned_time: Type: object Planned time of the release activities in UTC Timezone. The following sample has start, end and duration. Start time is the expected start of the release activities in UTC Timezone. End time is the expected end of the release time in UTC Timezone. Duration is value in ISO 8601 duration format. "planned_time": { "start": "2016-12-13T00:00:00Z", "end": "2016-12-16T00:00:00Z", "duration": "P3D" }
- archived: Type: boolean Set to true if entity is archived. Default: false
- status: Type: string Status of release plan
- notify_owner_on_error: Type: boolean If it set to true, the owner will receive an error notification. Default: true
- actions: Type: array List of available actions of the release plan at the current state
- phases: Type: array List of phases of the release plan
- variables: Type: array List of plan variables
- listeners: Type: array List of event listeners of the release plan
Example:
{
"id": 1908,
"name": "ReleasePlan_01",
"description": "Release Plan 01",
"archived": false,
"status": "Draft",
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P21D"
},
"folder": {
"id": 12798,
"name": "DEFAULT"
},
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"variables": [
{
"name": "variable_name",
"value": "variable value"
}
],
"listeners": [
{
"event": "Failure",
"recipients": [
{
"name": "100/AUTOMIC/AUTOMIC",
"display_name": "AUTOMIC/AUTOMIC",
"is_active": true,
"type": "User"
}
],
"invalid_recipients": []
}
],
"actions": [
{
"href": "api/data/v1/plans/1908/execute",
"method": "POST",
"rel": "execute",
"type": "System",
"desc": "Execute"
},
{
"href": "api/data/v1/plans/1908/duplicate",
"method": "POST",
"rel": "duplicate",
"type": "System",
"desc": "Duplicate"
},
{
"href": "api/data/v1/plans/1908",
"method": "POST",
"rel": "edit",
"type": "System",
"desc": "Edit"
},
{
"href": "api/data/v1/plans/1908/export",
"method": "GET",
"rel": "export",
"type": "System",
"desc": "Export"
},
{
"href": "api/data/v1/plans/1908/archive",
"method": "POST",
"rel": "archive",
"type": "System",
"desc": "Archive"
},
{
"rel": "add",
"type": "System",
"desc": "Add"
}
],
"phases": [
{
"id": 1919,
"name": "Phase 1",
"description": "",
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P4D"
},
"status": "Draft",
"type": "Sequential",
"tasks": [
{
"id": 1920,
"plan": {
"id": 1908,
"name": "ReleasePlan_01"
},
"phase": {
"id": 1919,
"name": "Phase 1"
},
"name": "Task 1",
"type": "Manual",
"description": "",
"owner": {
"name": "100/AUTOMIC/AUTOMIC",
"display_name": " ",
"is_active": true,
"type": "User"
},
"status": "Draft",
"planned_time": {
"start": "2017-07-12T09:12:03Z",
"duration": "P1D"
},
"actions": [
{
"rel": "delete",
"type": "System",
"desc": "delete"
},
{
"rel": "reorder",
"type": "System",
"desc": "reorder"
},
{
"rel": "edit",
"type": "System",
"desc": "edit"
}
],
"listeners": []
}
],
"actions": [
{
"rel": "edit",
"type": "System",
"desc": "Edit"
},
{
"rel": "delete",
"type": "System",
"desc": "Delete"
},
{
"rel": "reorder",
"type": "System",
"desc": "Reorder"
},
{
"rel": "add",
"type": "System",
"desc": "add"
}
]
}
]
}
HTTP status code 400
Invalid value (e.g max length exceeded or variable name contains invalid character).
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Invalid variable name",
"details": "variable name contains invalid character"
}
HTTP status code 404
Release plan does not exist.
Body
Media type: application/json
Type: error_response
Example:
{
"code": 134541,
"error": "Object does not exist.",
"details": ""
}